Towards a Kernel Language for Heterogenous Computing

نویسندگان

  • Dag Björklund
  • Johan Lilius
چکیده

What is characteristic of modern embedded systems like mobile phones, multimedia terminals, etc. is that their design requires several different description techniques: The radio-frequency part of a mobile phone is designed using analog techniques, the signal processing part can be described using synchronous data-flow, while the protocol stack uses an extended finite state machine based description model. This heterogeneity poses a challenge to embedded system design methodologies, and has resulted in a search for a System Level Design Language (SLDL) for describing both software and hardware. We believe that to obtain a good SLDL one needs to first understand what the combination of models of computation means. To this end we are developing a kernel language in which it is possible to use different models of computation. The main contributions of this work are: (1) a common set of concepts that form the basis of the kernel language, (2) a formally defined operational semantics, which also makes it possible to verify designs using e.g. model-checking, (3) the explicit use of atomicity and, (4) the introduction of the notion of execution policy. Several system description languages have been proposed, e.g. UML [4] and SystemC [3]. They make very different assumptions about the final implementation technology, e.g. UML is meant for modelling software, while SystemC addresses the hardware design domain. What is interesting is that many language constructs are common to these languages, but their semantics differ due to the computational model. E.g. parallelism in UML has a very different semantics from parallelism in SystemC. It is this interaction between language constructs and models of computation that is the focus of our research. We have identified a number of concepts that are common, but are interpreted differently given a different computational model. The language has syntactic entities to represent these concepts and through the operational semantics we give each concept a exact mathematical meaning. The basic concept in our language is the state. State is seldom explicit in programming languages like VHDL or ESTEREL [1] but is a common concept in many modeling languages like UML or Harel’s Statecharts [2]. Several states may be active at the same time (concurrency). The activities in concurrent states should be run in parallel. However, the parallelism is interpreted differently depending on the execution policy in effect in the current scope. A novelty in our language is that we make atomicity explicit. Atomicity defines what the smallest observable state change is. The programmer is thus free to define the level of atomicity as he pleases. In synchronous languages like Esterel, atomicity encompasses the whole program, so that the internal workings of the program are not observable. This is often problematic because the programmer is forced to think of the whole system as a monolothic state machine. Other key language constructs are interrupts, coroutines and communication. We have explicitly separated the execution policy from the semantics of the statements. It is our claim that we can model most models of computation using suitable combinations of atomicity, communication structure and execution policy. E.g. Harel’s statechart semantics is obtained by using broadcasting as communication discipline, by using step semantics for interpreting concurrency, and by making the top state atomic. As an other example, we can view a UML collaboration diagram, where some nodes are refined using state machines, as a synchronous dataflow system, again by selecting a suitable execution policy and level of atomicity.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Towards the Design of an Internet Operating System POSITION PAPER

This position paper describes a design approach for a kernel that supports Internet applications. The kernel must run on any device, from a PDA to a workstation, and be able to participate in a range of applications, from ubiquitous computing to electronic commerce. The core features of this kernel include security, disconnected operation, coordination with other kernels and compactness. We arg...

متن کامل

Parallel Spatial Pyramid Match Kernel Algorithm for Object Recognition using a Cluster of Computers

This paper parallelizes the spatial pyramid match kernel (SPK) implementation. SPK is one of the most usable kernel methods, along with support vector machine classifier, with high accuracy in object recognition. MATLAB parallel computing toolbox has been used to parallelize SPK. In this implementation, MATLAB Message Passing Interface (MPI) functions and features included in the toolbox help u...

متن کامل

Parallel Logic Programming with Extensions

A programming language is a tool and a vehicle for applications. The need to promote the evolution of Prolog towards a more expressive new logic programming language. A large medium-term national research project. Extensions to Logic Programming: new forms of computational reasoning, with explicit negation, constraint programming, parallelism and distribution support. The resulting language: PR...

متن کامل

A Geometry Preserving Kernel over Riemannian Manifolds

Abstract- Kernel trick and projection to tangent spaces are two choices for linearizing the data points lying on Riemannian manifolds. These approaches are used to provide the prerequisites for applying standard machine learning methods on Riemannian manifolds. Classical kernels implicitly project data to high dimensional feature space without considering the intrinsic geometry of data points. ...

متن کامل

Data Driven Scheduling Approach for the Multi-node Multi-GPU Cholesky Decomposition

Recently large scale scientific computation on heterogeneous supercomputers equipped with accelerators is receiving attraction. However, traditional static job execution methods and memory management methods are insufficient in order to harness heterogeneous computing resources including memory efficiently, since they introduce larger data movement costs and lower resource usage. This paper tak...

متن کامل

Students’ Attitude Towards English Language Learning: The Case of Iranian Junior High-School Students and Prospects Course-books

Although a surfeit of studies have examined the students’ attitude towards foreign and / or second language both inside and outside Iran, it seems scanty studies have been devoted to evaluate Prospect-trained students’ attitude towards English. This quantitative study investigated the students’ attitudes towards English language learning among 80 junior high school students in Ahvaz, Iran. Thes...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2002